#pragma once

#include<glm/glm.hpp>
#include<string>
#include<vector>
#include<GL/glew.h>
#include"Shader.h"
using namespace glm;
using namespace std;

struct Vertex {
	vec3 Position;
	vec3 Normal;
	vec2 TexCoord;
};

struct Texture {
	unsigned int id;
	string type;
	string path;
};

class Mesh
{
public:
	Mesh();
	Mesh(vector<Vertex>vertices, vector<unsigned int>indices, vector<Texture>textures);
	vector<Vertex>vertices;
	vector<unsigned int>indices;
	vector<Texture>textures;
	void Draw(Shader* shader);
	unsigned int VAO;
private:
	unsigned int VBO, EBO;
	void setUpMesh();
};

